package com.firemoss.atonement.entitymanager
{
	import com.firemoss.atonement.metadata.EntityMetadata;
	import com.firemoss.atonement.metadata.IMetadataBuilder;
	
	import mx.collections.IList;

	public interface IEntityManager
	{
		function get metadataBuilder() : IMetadataBuilder

		function get( clazz : Class, id : * ) : Object
		function getByName( entityName : String, id : * ) : Object
		function getByExample( example : Object ) : Object
		function getEntityMetadata( object : Object ) : EntityMetadata
		function put( entity : Object ) : Object
		function putList( list : IList ) : void
		function remove( entity : Object ) : void
	}
}
